package com.yssoft.mapper.inventory;

import com.yssoft.entity.inventory.TInstockApply;

import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface TInstockApplyMapper extends Mapper<TInstockApply> {
    /**
     * @param param
     * @return List<Map < String, Object>>
     * @方法名称: selectInstockApply
     * @功能描述: 获取入库申请列表
     * @作者: 王永宁
     * @创建时间:2018年5月9日 下午9:31:00
     */
    List<Map<String, Object>> selectInstockApply(HashMap<String, Object> param);

    /**
     * @方法名: selectInstockApplyByMaterType
     * @创建人: 陈翼东
     * @时间: 2018/5/17 上午 10:23
     * @参数: [params]
     * @返回值: java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @说明: 根据原料或者成品或者半成品的类型查询加工单
     */
    List<Map<String, Object>> selectInstockApplyByMaterType(Map<String, Object> params);

    /**
     * @param id 入库申请id
     * @return Object
     * @方法名称: getOneById
     * @功能描述: 根据id获取入库申请单
     * @作者: 王永宁
     * @创建时间:2018年5月18日 下午7:33:38
     */
    Map<String, Object> getOneById(Integer id);

    /**
     * 入库申请单列表查询(检验)
     *
     * @param param
     * @return
     * @author 戈超
     */
    List<Map<String, Object>> queryInstockApplyList(Map<String, Object> param);

    /**
     * 查询库存产品或半成品列表
     *
     * @param warehouseId
     * @return
     */
    List<Map<String, Object>> queryWarehouseProductOrMaterialList(@Param("warehouseId") Integer warehouseId);
    /**
     * 查询库存产品列表
     *
     * @param warehouseId
     * @return
     */
    List<Map<String, Object>> queryWarehouseProductList(@Param("warehouseId") Integer warehouseId);

    /**
     * 查询库存半成品列表
     *
     * @param warehouseId
     * @return
     */
    List<Map<String, Object>> queryWarehouseSemiFinishedGoodsList(@Param("warehouseId") Integer warehouseId);
    /**
     * 查询库存物料列表
     *
     * @param warehouseId
     * @return
     */
    List<Map<String, Object>> queryWarehouseMaterialList(@Param("warehouseId") Integer warehouseId);

    /**
     * 查询是否入不合格品库
     *
     * @param instockAppId
     * @return
     * @author 王永宁
     */
    int selectNonCount(Integer instockAppId);
}